perm filename PUZZLE.TIM[TIM,LSP]17 blob
sn#763195 filedate 1984-07-31 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00021 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 SAIL
C00005 00003 ELISP/UCILISP
C00006 00004 T/UCILISP
C00007 00005 LM-2
C00008 00006 ∂03-Oct-82 2050 James Bennett <csd.Bennett at SU-SCORE> initial timings
C00011 00007 PUZZLE
C00012 00008 PUZZLE
C00013 00009 NIL
C00015 00010 SCORE Dec 29, 1983 1-based arrays
C00016 00011 InterLisp Vax 780
C00017 00012 PSL-20 3.3
C00018 00013 PSL-Cray 3.2
C00019 00014 PSL-750 3.2
C00020 00015 PSL-780 3.2
C00021 00016 PSL-DN600 3.2
C00022 00017 PSL-DN300 3.2
C00023 00018 PSL-dn160
C00024 00019 PERQ 6/19/84
C00025 00020 DEC Common Lisp
C00026 00021 PSL Numbers 7/31/84
C00027 ENDMK
C⊗;
;;; SAIL
(timit)
success in 2005 trials
Cpu Time = 8.736
Elapsed Time = 15.4666667
Wholine Time = 12.85
GC time = 0.421
Load Average Before = 0.560385704
Load Average After = 0.62576735
NIL
success in 2005 trials
Cpu Time = 8.762
Elapsed Time = 21.0833333
Wholine Time = 12.9333333
GC time = 0.422
Load Average Before = 0.62777853
Load Average After = 0.77028763
NIL
success in 2005 trials
Cpu Time = 8.758
Elapsed Time = 22.3166666
Wholine Time = 13.2333333
GC time = 0.422
Load Average Before = 0.85665059
Load Average After = 0.982417345
NIL
;;; PUZZLE (model B)
success in 2005 trials
Cpu Time = 7.865
Elapsed Time = 14.5666667
Wholine Time = 11.8333334
GC time = 0.0
Load Average Before = 0.63950753
Load Average After = 0.70015371
NIL
;;; ELISP/UCILISP
Elisp: 25.133 sec.
R/UCI Lisp: 75.622 sec.
R/UCI Lisp with NOUUO NIL: 25.840 sec.
;;; T/UCILISP
∂10-May-82 2101 Mabry Tyson <Tyson at SRI-AI> UCI Lisp on Basket Puzzle
Date: 10 May 1982 2055-PDT
From: Mabry Tyson <Tyson at SRI-AI>
Subject: UCI Lisp on Basket Puzzle
To: rpg at SU-AI
Results on the Basket Puzzle Benchmark for UCI-Lisp (version from UTexas-20,
tests run on SRI-AI 2060).
Compiled, slow links: 85.804 seconds (no GC)
Compiled, fast links: 23.966 seconds (no GC)
-------
;;; LM-2
;; 6. PUZZLE
(DEFUN TIME-PUZZLE ()
(TIMING "PUZZLE" (START)))
;; Compiled: 59.0 Seconds
∂03-Oct-82 2050 James Bennett <csd.Bennett at SU-SCORE> initial timings
Date: 3 Oct 1982 2046-PDT
From: James Bennett <csd.Bennett at SU-SCORE>
Subject: initial timings
To: rpg at SU-AI
Stanford-Phone: (415) 497-2225
Home-Phone: (415) 322-2233
Dick,
I got it to work. You are right about Interlisp array indicies
starting at 1 rather than 0. I thought that the ADD1's would unduly
increase the running times but I think that this effect is in the noise
after looking at the following results. First I block compiled the functions,
timed start, and then did the same with the uncompiled versions. As
you can see below, compiling had little effect. I would say that array
access sucks in Interlisp. I suggest that you run the breakdown package
on this function just to see were it is spending its time, jim
NIL
←(TIME (START) 1 0] ; bcompl'd version
success in 2005 trials
0 conses
1481.138 seconds
2782.667 seconds, real time
NIL
←LOAD(PUZZLE]
FILE CREATED 3-Oct-82 13:00:20
PUZZLECOMS
(START redefined)
(DEFINE-ARRAY redefined)
collecting arrays
7820, 10380 free cells
<CSD.BENNETT>PUZZLE..10
←REDO TIME ; expr version
success in 2005 trials
0 conses
1481.692 seconds
2397.734 seconds, real time
NIL
←PL START
CODE : #176777
EXPR : (LAMBDA NIL (& 0) --)
←UNSAVEDEF(START CODE]
CODE
←REDO TIME
success in 2005 trials
0 conses
1479.684 seconds
2426.698 seconds, real time
NIL
←DRIBBLE]
-------
;;; PUZZLE
Common Lisp arrays
D3
Open-compiled, safe, Display-up
Elapsed 14.9
CPU 14.9
Open-compiled, safe, Display-down
Elapsed 14.0
CPU 14.0
Closed-compiled, safe, Display-up
Elapsed 49.3
CPU 49.3
;;; PUZZLE
Common Lisp arrays
D2
Open-compiled, safe, Display-up
Elapsed 121.0
SWAP .252
CPU 121.0
Open-compiled, safe, Display-down
Elapsed 91.0
CPU 91.0
Closed-compiled, safe, Display-up
Elapsed 278.0
CPU 278.0
InterLisp arrays (1-based version)
Elapsed 616.0
SWAP .087
CPU 616.0
PGFLTS 2
D1
1/25/84 with interrupts CMLArrays
Elapsed 50.2
CPU 50.2
GC 0.0
;;; NIL
PUZZLE
Fixnum arithmetic, as always.
Make the following macro definition
(defmacro deftable (name type &rest dimensions)
(let ((tabvar (symbolconc '* name '-table*)))
`(progn 'compile
(defparameter ,tabvar
(make-array (list ,@dimensions))
,.(cond ((eq type 'fixnum) `((fill ,tabvar 0)))
((eq type 'flonum) `((fill ,tabvar 0.0))))
(defmacro ,name (&rest dimensions)
,(cond ((= (length dimensions) 1) ``(sgvref ,',tabvar ,@dimensions))
(t ``(aref ,',tabvar ,@dimensions)))))))
and change calls to ARRAY to DEFTABLE, calls to STORE to SETF.
(Hopefully not causing order-of-evaluation problems.) To really bum
this i could use SGVREF for the one-dimensional cases.
cpu=497.85,elapsed=498.02,pagefaults=4
Presumably this is because 2-dim aref is losing its lunch. I think that
that overshadows the generic reference to the one-dimensional case, so i'm
not going to bother doing that case. (The multi-dimensional generic aref
minisubr has been mostly written, but got bumped down the queue some time
ago so never got debugged nor installed.) A new compiler and some array
declarations would work wonders.
;;; SCORE Dec 29, 1983 1-based arrays
using PUZZLE.IL0[TIM,LSP]
Success in 2005 trials.
0 conses
121.028 seconds
7.926 seconds, garbage collection time
NIL
←
;;; InterLisp Vax 780
PUZZLE:
←(TIME (START))
Success in 2005 trials.
0 conses
123.088 seconds
NIL
;;; PSL-20 3.3
Puzzle test
Timing performed on DEC-20
23-Mar-84 05:09:07 .
success in 2005 trials
........................................
Cpu (- GC) Time = 15.924 secs
Elapsed Time = 18.0 secs
GC Time = 0.0 secs
Load Average Before = 1.2
Load Average After = 1.2
Average Load Average = 1.2
;;; PSL-Cray 3.2
;;; Times are in milliseconds
14:25:53 001:22.341 Puzzle test
14:26:11 001:26.658 Cpu (- GC) Time = 1007.13500000 secs
14:26:14 001:27.178 Elapsed Time = 0. secs
14:26:18 001:27.699 GC Time = 0. secs
14:26:20 001:28.219 Load Average Before = 0
14:26:36 001:28.739 Load Average After = 0
14:26:40 001:29.260 Average Load Average = 0.
;;; PSL-750 3.2
Cpu (- GC) Time = 35.938 secs
Elapsed Time = 0.0 secs
GC Time = 0.0 secs
Load Average Before = 0
Load Average After = 0
Average Load Average = 0.0
;;; PSL-780 3.2
Cpu (- GC) Time = 16.286 secs
Elapsed Time = 0.0 secs
GC Time = 0.0 secs
Load Average Before = 0
Load Average After = 0
Average Load Average = 0.0
;;; PSL-DN600 3.2
Cpu (- GC) Time = 28.923 secs
Elapsed Time = 0.0 secs
GC Time = 0.0 secs
Load Average Before = 0
Load Average After = 0
Average Load Average = 0.0
;;; PSL-DN300 3.2
Cpu (- GC) Time = 31.743 secs
Elapsed Time = 0.0 secs
GC Time = 0.0 secs
Load Average Before = 0
Load Average After = 0
Average Load Average = 0.0
;;; PSL-dn160
Puzzle test
Timing performed on Apollo
today 12:00:00.
success in 2005 trials
........................................
Cpu (- GC) Time = 29.506 secs
Elapsed Time = 0.0 secs
GC Time = 0.0 secs
Load Average Before = 0
Load Average After = 0
Average Load Average = 0.0
;;; PERQ 6/19/84
1812.42 seconds (stopwatch)
7/31/84
Benchmark % of old time Time Machine used
Puzzle 5.74% 104.07 Joe's T2
;;; DEC Common Lisp
*************************************************************************
Name of VAXLisp VAXLisp VAXLisp VAXLisp
application U1.0-20 U1.0-20 U1.0-20 U1.0-20
Benchmark VMS V3.5 VMS V3.5 VMS V3.5 VMS V3.6
730 (No FPA) 750 (No FPA) 780 785 (No FPA)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Puzzle
array 512.56 231.79 128.92 85.44
list 59.36 23.74 14.25 8.80
;;; PSL Numbers 7/31/84
|KL-10b| 20-60 | 20-60 | 3600 | 20-60 | CRAY | 12Mhz| HP-UX
Benchmark |MACLSP|InterLsp|PSL 3.2| ZetaL|PSL 3.3|PSL3.2| HP200|PSL3.3
--------------------------------------------------------------------------
Puzzle | 7.87| 121.028| 15.92 | 14.21| 4.285| 1.010| 10.85| 12.48